어셈블리 언어 입문 사칙연산 이번 범위 관련 명령 더하기 연산 문법: add a, b 의미: a = a + b a = Register or Memory b = Register or Memory or Constant (a, b 모두 메모리는 안됨) 빼기 연산 빼기 연산의 경우 위 더하기 연산과 완전히 같은 형태이다. add 만 sub로 바꿔주면 완전히 동일 곱하기 연산 문법: mul reg 의미: al에 reg를 곱해서 ... 어셈블리 언어 입문어셈블리 언어 입문 반복문, 배열, 함수 반복문 어셈블리 언어에서 반복문의 구현은 두 가지 방법이 있다. 첫번째는 cmp, jmp를 이용하여 구현 두번째 방법은 loop문을 이용 배열 배열 선언 및 초기화 배열 순회 출력 함수 두개의 입력값 중 큰값을 출력하는 함수... 어셈블리 언어 입문어셈블리 언어 입문 문자열과 엔디안 변수 선언 (한개 이상의 값) 위 코드 처럼 a에 값 하나가 아닌 연속된 값을 지정 할 수 있다. 문자열 변수 위 코드를 메모리상에서 확인해 보면 변수 msg의 값은 0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,0x72,0x6c,0x64,0x0 임을 확인 할 수 있다. 아스키코드 매칭시 Hello World가 되고 마지막 0은 문자열의 끝을 알려주는 값이다. 실제로... 어셈블리 언어 입문어셈블리 언어 입문 Stack Memory, Stack Frame 스택 메모리, 스택 프레임 레지스터는 다양한 용도로 사용된다. 기존의 rax, rbx 등과 같은 범용 레지스터가 있고, 스택을 위한 Pointer Register 가 존재한다. ip(Instruction Pointer) - 다음 수행 명령어 위치 sp(StackPointer) - 현재 스택 TOP 위치 bp(BasePointer) - 스택 상대주소 계산용... 어셈블리 언어 입문어셈블리 언어 입문
사칙연산 이번 범위 관련 명령 더하기 연산 문법: add a, b 의미: a = a + b a = Register or Memory b = Register or Memory or Constant (a, b 모두 메모리는 안됨) 빼기 연산 빼기 연산의 경우 위 더하기 연산과 완전히 같은 형태이다. add 만 sub로 바꿔주면 완전히 동일 곱하기 연산 문법: mul reg 의미: al에 reg를 곱해서 ... 어셈블리 언어 입문어셈블리 언어 입문 반복문, 배열, 함수 반복문 어셈블리 언어에서 반복문의 구현은 두 가지 방법이 있다. 첫번째는 cmp, jmp를 이용하여 구현 두번째 방법은 loop문을 이용 배열 배열 선언 및 초기화 배열 순회 출력 함수 두개의 입력값 중 큰값을 출력하는 함수... 어셈블리 언어 입문어셈블리 언어 입문 문자열과 엔디안 변수 선언 (한개 이상의 값) 위 코드 처럼 a에 값 하나가 아닌 연속된 값을 지정 할 수 있다. 문자열 변수 위 코드를 메모리상에서 확인해 보면 변수 msg의 값은 0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,0x72,0x6c,0x64,0x0 임을 확인 할 수 있다. 아스키코드 매칭시 Hello World가 되고 마지막 0은 문자열의 끝을 알려주는 값이다. 실제로... 어셈블리 언어 입문어셈블리 언어 입문 Stack Memory, Stack Frame 스택 메모리, 스택 프레임 레지스터는 다양한 용도로 사용된다. 기존의 rax, rbx 등과 같은 범용 레지스터가 있고, 스택을 위한 Pointer Register 가 존재한다. ip(Instruction Pointer) - 다음 수행 명령어 위치 sp(StackPointer) - 현재 스택 TOP 위치 bp(BasePointer) - 스택 상대주소 계산용... 어셈블리 언어 입문어셈블리 언어 입문